package com.yn.common.response.driver;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "司机返程计划详情对象", description = "用于接收司机返程计划相关参数的返回对象")
public class DepartureDetailResponse {

    @ApiModelProperty(value = "计划id")
    private Integer id;

    @ApiModelProperty(value = "目的地区编码")
    @NotNull(message = "目的地区编码不能为空")
    private String startRegionCode;

    @ApiModelProperty(value = "出发地区编码")
    @NotNull(message = "出发地区编码不能为空")
    private String endRegionCode;

    @ApiModelProperty(value = "目的地区域中文")
    @NotNull(message = "目的地区域中文不能为空")
    private String startDestination;

    @ApiModelProperty(value = "出发地区域中文")
    @NotNull(message = "出发地区域中文不能为空")
    private String endDestination;

    @ApiModelProperty(value = "出发地址经纬度")
    @NotNull(message = "出发地址经纬度不能为空")
    private String startLocality;

    @ApiModelProperty(value = "目的地址经纬度")
    @NotNull(message = "目的地址经纬度不能为空")
    private String endLocality;



    @ApiModelProperty(value = "起始省级id")
    private Integer startProvinceId;

    @ApiModelProperty(value = "目的省级id")
    private Integer endProvinceId;

    @ApiModelProperty(value = "起始市级id")
    private Integer startCityId;

    @ApiModelProperty(value = "目的市级id")
    private Integer endCityId;

    @ApiModelProperty(value = "起始区级id")
    private Integer startDistrictId;

    @ApiModelProperty(value = "目的区级id")
    private Integer endDistrictId;



    @ApiModelProperty(value = "发车时间")
    private String departureTime; // 若用LocalDateTime等类型，注意前后端时间格式转换，这里先示例用String，也可根据实际改

    @ApiModelProperty(value = "车队id(冗余字段)")
    private Integer carFleetId;

    @ApiModelProperty(value = "发布人id")
    private Integer appUserId;

    @ApiModelProperty(value = "车队名称")
    private String carFleetName;

    @ApiModelProperty(value = "服务项")
    List<ReturnServiceConfigResponse> serviceConfigs;

    @ApiModelProperty(value = "备注")
    private String remark;



    @ApiModelProperty(value = "车队地址")
    private String carFleetAddress;

    @ApiModelProperty(value = "车队联系人")
    private String fleetCuratorName;

    @ApiModelProperty(value = "车队联系电话")
    private String fleetCuratorPhonenumber;



    @ApiModelProperty(value = "车辆信息id(冗余字段)")//(用户端看不见)
    private Integer carManageId;

}
